home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / ubuntu / aufs / Kconfig next >
Encoding:
Text File  |  2009-09-09  |  10.3 KB  |  266 lines

  1. config AUFS
  2.     tristate "Another unionfs"
  3.     help
  4.     Aufs is a stackable unification filesystem such as Unionfs,
  5.     which unifies several directories and provides a merged single
  6.     directory.
  7.     In the early days, aufs was entirely re-designed and
  8.     re-implemented Unionfs Version 1.x series. After many original
  9.     ideas, approaches and improvements, it becomes totally
  10.     different from Unionfs while keeping the basic features.
  11.     See Unionfs for the basic features.
  12. if AUFS
  13. comment "These options are for 2.6.27-3-generic"
  14. choice
  15.     prompt "Maximum number of branches"
  16.     default AUFS_BRANCH_MAX_127
  17.     help
  18.     Specifies the maximum number of branches (or member directories) in a single aufs. The larger value consumes more system resources and has an impact to performance.
  19. config AUFS_BRANCH_MAX_127
  20.     bool "127"
  21.     help
  22.     Specifies the maximum number of branches (or member directories) in a single aufs. The larger value consumes more system resources and has an impact to performance.
  23. config AUFS_BRANCH_MAX_511
  24.     bool "511"
  25.     help
  26.     Specifies the maximum number of branches (or member directories) in a single aufs. The larger value consumes more system resources and has an impact to performance.
  27. config AUFS_BRANCH_MAX_1023
  28.     bool "1023"
  29.     help
  30.     Specifies the maximum number of branches (or member directories) in a single aufs. The larger value consumes more system resources and has an impact to performance.
  31. config AUFS_BRANCH_MAX_32767
  32.     bool "32767"
  33.     help
  34.     Specifies the maximum number of branches (or member directories) in a single aufs. The larger value consumes more system resources and has an impact to performance.
  35. endchoice
  36. config AUFS_STAT
  37.     bool "Use <sysfs>/fs/aufs/stat"
  38.     depends on SYSFS
  39.     help
  40.     Shows some statistic data via <sysfs>/fs/aufs/stat.
  41.     See detail in aufs.5.
  42. comment "SYSFS and AUFS_STAT are disabled"
  43.     depends on SYSFS = n
  44. config AUFS_HINOTIFY
  45.     bool "Use inotify to detect actions on a branch"
  46.     depends on INOTIFY
  47.     help
  48.     If you want to modify files on branches directly, eg. bypassing aufs,
  49.     and want aufs to detect the changes of them fully, then enable this
  50.     option and use 'udba=inotify' mount option.
  51.     It will have a negative impact to the performance.
  52.     See detail in aufs.5.
  53. comment "INOTIFY and AUFS_HINOTIFY are disabled"
  54.     depends on INOTIFY = n
  55. config AUFS_EXPORT
  56.     bool "NFS-exportable aufs"
  57.     depends on (AUFS = y && EXPORTFS = y) || (AUFS = m && EXPORTFS)
  58.     help
  59.     If you want to export your mounted aufs, then enable this
  60.     option. There are several requirements to export aufs.
  61.     See detail in aufs.5.
  62. comment "EXPORTFS and AUFS_EXPORT are disabled"
  63.     depends on EXPORTFS = n
  64. comment "AUFS_EXPORT is disabled since EXPORTFS is a module but AUFS"
  65.     depends on EXPORTFS = m && AUFS = y
  66. config AUFS_INO_T_64
  67.     bool
  68.     depends on 64BIT && !(ALPHA || S390)
  69.     default y
  70. config AUFS_ROBR
  71.     bool "Aufs as an readonly branch of another aufs mount"
  72.     help
  73.     If you want make your aufs to be a part of another aufs, then
  74.     enable this option. In other words, you can specify your aufs
  75.     path in 'br:' mount option for another aufs, but cannot
  76.     specify 'rw' as the branch permission.
  77.     It will have a negative impact to the performance.
  78.     See detail in aufs.5.
  79. config AUFS_DLGT
  80.     bool "Delegate the internal branch access the kernel thread"
  81.     help
  82.     If you want aufs to delegate
  83.     the internal access to the branches which is made by aufs, to
  84.     the kernel thread, in order to hide the access issued by your
  85.     application from your LSM or something or make your
  86.     application to be traced strictly by the task I/O accounting,
  87.     then enable this option and use 'dlgt' mount option.
  88.     It will have a negative impact to the performance.
  89.     See detail in aufs.5.
  90. config AUFS_HIN_OR_DLGT
  91.     bool
  92.     depends on AUFS_HINOTIFY || AUFS_DLGT
  93.     default y
  94.     help
  95.     Automatic configuration for internal use.
  96. config AUFS_SHWH
  97.     bool "Show whiteouts"
  98.     help
  99.     If you want to make the whiteouts in aufs visible, then enable
  100.     this option and specify 'shwh' mount option. Although it may
  101.     sounds like philosophy or something, but in technically it
  102.     simply shows the name of whiteout with keeping its behaviour.
  103. config AUFS_RR_SQUASHFS
  104.     bool "Make squashfs branch RR (real readonly) by default"
  105.     default y
  106.     help
  107.     If you use squashfs or LZMA patched squashfs as an aufs branch
  108.     and want to set '=rr' to it by default, then enable this
  109.     configuration.
  110.     'rr' stands for real readonly and it optimizes some aspects of
  111.     'ro.'
  112.     See detail in aufs.5.
  113. config AUFS_SEC_PERM_PATCH
  114.     bool "sec_perm-2.6.24.patch was applied or not"
  115.     depends on AUFS = m
  116.     depends on SECURITY
  117.     help
  118.     If you build aufs as a module and enabled CONFIG_SECURITY,
  119.     then you need to apply the patch
  120.     'CVS_TREE/aufs/patch/sec_perm-2.6.24.patch' to your kernel
  121.     source, and enable this configuration.
  122.     The sec_perm-2.6.24.patch exports a kernel function
  123.     security_inode_permission() to modules.
  124. comment "SECURITY and AUFS_SEC_PERM_PATCH are disabled"
  125.     depends on SECURITY = n
  126. config AUFS_SPLICE_PATCH
  127.     bool "splice.patch for sendfile(2) and splice(2)"
  128.     help
  129.     If you use 'loopback mount' on a fs-image file, or use
  130.     splice(2) or sendfile(2) systemcall in aufs, then you need to
  131.     apply the patch 'CVS_TREE/aufs/patch/splice.patch' to your
  132.     kernel source, and enable this configuration.
  133.     The splice.patch makes the kernel function do_splice_to/from()
  134.     global and exports them to modules.
  135. config AUFS_PUT_FILP_PATCH
  136.     bool "put_filp.patch for NFS branch"
  137.     depends on AUFS = m
  138.     depends on NFS_FS
  139.     help
  140.     If you build aufs as a module and use mounted NFS as an aufs
  141.     branch filesystem, then you need to apply the patch
  142.     'CVS_TREE/aufs/patch/put_filp.patch' to your kernel source,
  143.     and enable this configuration.
  144.     The put_filp.patch exports a kernel function put_filp() to
  145.     modules.
  146. comment "NFS_FS and AUFS_PUT_FILP_PATCH are disabled"
  147.     depends on NFS_FS = n
  148. config AUFS_LHASH_PATCH
  149.     bool "lhash.patch for NFS branch"
  150.     depends on NFS_FS
  151.     help
  152.     If you use mounted NFS as an aufs branch filesystem, then you
  153.     need to apply the patch 'CVS_TREE/aufs/patch/lhash.patch' (or
  154.     lhash-2.6.22.patch for linux-2.6.22 and later) to your kernel
  155.     source, and enable this configuration.
  156.     The patch file makes the kernel function __lookup_hash() global
  157.     and exports it to modules.
  158. comment "NFS_FS and AUFS_LHASH_PATCH are disabled"
  159.     depends on NFS_FS = n
  160. config AUFS_BR_NFS
  161.     bool
  162.     depends on NFS_FS
  163.     default n if (!AUFS_LHASH_PATCH || !(AUFS = y || AUFS_PUT_FILP_PATCH))
  164.     default y
  165.     help
  166.     Automatic configuration for internal use.
  167.     When aufs supports NFS branch, enabled automatically.
  168. config AUFS_BR_XFS
  169.     bool
  170.     depends on XFS_FS
  171.     default y
  172.     help
  173.     Automatic configuration for internal use.
  174.     When aufs supports XFS branch, enabled automatically.
  175. config AUFS_FSYNC_SUPER_PATCH
  176.     bool "fsync_super-2.6.xx.patch was applied or not"
  177.     depends on AUFS = m
  178.     help
  179.     If you build aufs as a module and want to flush everything for
  180.     branch filesystems which are not marked as 'rr' nor 'rr+wh' at
  181.     umount or remount time, then you need to apply the patch
  182.     'CVS_TREE/aufs/patch/fsync_super-2.6.16.patch' or
  183.     '...-2.6.19.patch' to your kernel source, and enable this
  184.     configuration.
  185.     It may be helpful at shutdown time in case of your aufs is a
  186.     root filesystem. But this behaviour will not guarantee the
  187.     consistency of branch filesystems. To guarantee it, try the
  188.     approach described in the aufs manual, and do not forget
  189.     installing auplink script.
  190.     The fsync_super-2.6.xx.patch does nothing but exports a kernel
  191.     function fsync_super() to modules.
  192. config AUFS_DENY_WRITE_ACCESS_PATCH
  193.     bool "deny_write_access.patch was applied or not"
  194.     depends on AUFS = m
  195.     help
  196.     A security enhancement to deny writing to a running executable
  197.     which exists on an aufs branch filesystem and executed through
  198.     aufs. If you applied
  199.     'CVS_TREE/aufs/patch/deny_write_access.patch' to your kernel
  200.     and you are compiling aufs as a module, then enable this
  201.     option.
  202.     The write_deny_access.patch does nothing but export the
  203.     function.
  204. config AUFS_WORKAROUND_FUSE
  205.     bool "Special handling for FUSE-based filesystem"
  206.     depends on FUSE_FS
  207.     help
  208.     A FUSE-based filesystem may not initialize its inode
  209.     attributes and the FUSE developer thinks the inode attributes
  210.     in a positive dentry which is returned by VFS lookup operation
  211.     are not reliable.
  212.     If you use a FUSE-based filesystem as an aufs branch, and it
  213.     customizes the inode attribute on it without overriding
  214.     fuse_lowlevel_ops.lookup, probably you need to enable this
  215.     configuration.
  216.     If you enable this configuration, aufs calls getattr operation
  217.     in every lookup and revalidate operation for the FUSE-based
  218.     filesystem branch.
  219.     It will have a negative impact to the performance even if you do
  220.     not use a FUSE-based filesystem branch.
  221. config AUFS_HIN_OR_FUSE
  222.     bool
  223.     depends on AUFS_HINOTIFY || AUFS_WORKAROUND_FUSE
  224.     default y
  225.     help
  226.     Automatic configuration for internal use.
  227. config AUFS_DEBUG
  228.     bool "Debug aufs"
  229.     default y
  230.     help
  231.     Enable this to compile aufs internal debug code.
  232.     It will have a negative impact to the performance.
  233. config AUFS_MAGIC_SYSRQ
  234.     bool
  235.     depends on AUFS_DEBUG && MAGIC_SYSRQ
  236.     default y
  237.     help
  238.     Automatic configuration for internal use.
  239.     When aufs supports Magic SysRq, enabled automatically.
  240. config AUFS_COMPAT
  241.     bool "Compatibility with Unionfs (obsolete)"
  242.     help
  243.     This makes aufs compatible with unionfs-style mount options and some
  244.     behaviours.
  245.     The dirs= mount option and =nfsro branch permission flag are always
  246.     interpreted as br: mount option and =ro flag respectively. The
  247.     'debug', 'delete' and 'imap' mount options are ignored.
  248.     If you disable this option, you will get,
  249.     - aufs issues a warning about the ignored mount options
  250.     - the default branch permission flag is set. RW for the first branch,
  251.       and RO for the rests.
  252.     - the name of a internal file which represents the directory is
  253.       'opaque', becomes '.wh..wh..opq'
  254.     - the 'diropq=w' mount option is set by default
  255. config AUFS_UNIONFS22_PATCH
  256.     bool "Unionfs-2.2 or later patch is applied or not (obsolete)"
  257.     help
  258.     Unionfs version 2.2 (and later) patch introduces some changes in VFS layer which has an impact to aufs. If you have applied such patch to your kernel, you need to enable this configuration even if you disabled CONFIG_UNIONFS.
  259. config AUFS_UNIONFS23_PATCH
  260.     bool "Unionfs-2.3 or later patch is applied or not (obsolete)"
  261.     select AUFS_SPLICE_PATCH
  262.     select AUFS_UNIONFS22_PATCH
  263.     help
  264.     Unionfs version 2.3 (and later) patch introduces some changes in VFS layer which has an impact to aufs. If you have applied such patch to your kernel, you need to enable this configuration even if you disabled CONFIG_UNIONFS.
  265. endif
  266.